#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define ARRAY_SIZE1 15
#define ARRAY_SIZE2  10

#if 0
*********
 *******
  *****
   ***
    *
#endif

void func_printf()
{
    for(int j = 0; j < 5; j++)
    {
        for(int i = 0; i < j; i++)
        {
            printf(" ");
        }
        for (int i = 0; i < (9 - 2 * j); i++)
        {
            printf("*");
        }
        printf("\n");
    } 
    printf("\n");
}

void func_printf_1()
{
    for (int j =0 ; j < 5 ; j++)
    {
        for (int i =0 ; i < j ; i++)
        {
            printf (" ");
            
        }
        for (int i =0 ; i < 9-2*j ; i++)
        {
            printf ("*");
            
        }
       printf ("\n");
    } 
}
/**
 * 
 * 给定一个数组 nums，编写一个函数将所有 0 移动到数组的末尾，同时保持非零元素的相对顺序。
    请注意 ，必须在不复制数组的情况下原地对数组进行操作。
 */
void sort()
 {  
    int count = 0; 
    int array1[ARRAY_SIZE1]={0,7,4,18,0,9,6,15,0,7,2,16,5,18,12};
    int array2[ARRAY_SIZE2]={5,7,18,3,9,15,14,2,8,12};
    
    for(int i = 0;i < ARRAY_SIZE1 - count; i++)
    {
        if (array1[i]==0)
        {
            count++;
            
            for(int j = i;j < ARRAY_SIZE1 - count ; j++)
            {
                array1[j] = array1[j+1]; 
            }
            array1[ARRAY_SIZE1 - count] = 0;
        }
    }



    for(int i = 0; i < ARRAY_SIZE1; i++)
    {
        printf("%d ", array1[i]);
    }
    printf("\n");
    for(int i = 0; i < ARRAY_SIZE2; i++)
    {
        printf("%d ", array2[i]);
    }
    printf("\n");
 }
int main()
{
    // func_printf();
    //func_printf_1();
    sort();
    return 0;
}